Fix arguments to reordered signal.
authorJonathan Blandford <jrb@webwynk.net>
Wed, 28 Mar 2001 03:09:03 +0000 (03:09 +0000)
committerJonathan Blandford <jrb@src.gnome.org>
Wed, 28 Mar 2001 03:09:03 +0000 (03:09 +0000)
Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>

* gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
reordered signal.

* tests/testtreesort.c (main): fix spelling.
Bad Jonathan.  Don't break the tree.

12 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkcellrenderertoggle.c
gtk/gtkliststore.c
gtk/gtktreemodel.c
gtk/gtktreeview.c
tests/testtreesort.c

index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index 9a2746c8f38681815e76bc61f37d8df7e8f2719e..4ab9d2c8f9e9fc015e5c1f479989f4617e515dc4 100644 (file)
@@ -1,3 +1,10 @@
+Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@webwynk.net>
+
+       * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
+       reordered signal.
+
+       * tests/testtreesort.c (main): fix spelling.
+
 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
 
        * gtk/gtkliststore.c: More work on implementing sortable
index bf9c421dad2a05748f68a11c764cb0ba65618c54..91199be0ea97a901984421b0d762dface23433f2 100644 (file)
@@ -284,7 +284,7 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell,
     state = GTK_STATE_INSENSITIVE;
   else
     state = GTK_STATE_NORMAL;
-  
+
   if (celltoggle->radio)
     {
       gtk_paint_option (widget->style,
index 5d7b7878cc48f8542ce722e212031c3ae3528d80..6c06a36db958cdf0249cafd357c564ea67700e4e 100644 (file)
@@ -412,8 +412,7 @@ gtk_list_store_get_iter (GtkTreeModel *tree_model,
   if (i >= GTK_LIST_STORE (tree_model)->length)
     return FALSE;
 
-  list = g_slist_nth (G_SLIST (GTK_LIST_STORE (tree_model)->root),
-                      i);
+  list = g_slist_nth (G_SLIST (GTK_LIST_STORE (tree_model)->root), i);
 
   /* If this fails, list_store->length has gotten mangled. */
   g_assert (list);
@@ -524,7 +523,9 @@ static gint
 gtk_list_store_iter_n_children (GtkTreeModel *tree_model,
                                GtkTreeIter  *iter)
 {
-  if (iter == NULL)
+  g_return_val_if_fail (GTK_LIST_STORE (tree_model)->stamp == iter->stamp, -1);
+
+  if (iter->user_data == NULL)
     return GTK_LIST_STORE (tree_model)->length;
   else
     return 0;
@@ -547,8 +548,8 @@ gtk_list_store_iter_nth_child (GtkTreeModel *tree_model,
 
   if (child)
     {
-      iter->user_data = child;
       iter->stamp = GTK_LIST_STORE (tree_model)->stamp;
+      iter->user_data = child;
       return TRUE;
     }
   else
@@ -849,8 +850,8 @@ gtk_list_store_remove (GtkListStore *list_store,
 
   validate_list_store (list_store);
 
+  list_store->stamp ++;
   gtk_tree_model_deleted (GTK_TREE_MODEL (list_store), path);
-
   gtk_tree_path_free (path);
 }
 
@@ -1290,6 +1291,7 @@ gtk_list_store_drag_data_received (GtkTreeDragDest   *drag_dest,
               ++col;
             }
 
+         dest_iter.stamp = GTK_LIST_STORE (tree_model)->stamp;
           G_SLIST (dest_iter.user_data)->data = copy_head;
 
          path = gtk_list_store_get_path (GTK_TREE_MODEL (tree_model), &dest_iter);
@@ -1391,6 +1393,7 @@ static void
 gtk_list_store_sort (GtkListStore *list_store)
 {
   GtkTreeDataSortHeader *header = NULL;
+  GtkTreeIter iter;
   GArray *sort_array;
   gint i;
   GList *header_list;
@@ -1447,8 +1450,10 @@ gtk_list_store_sort (GtkListStore *list_store)
   for (i = 0; i < list_store->length; i++)
     new_order[i] = g_array_index (sort_array, SortTuple, i).offset;
   path = gtk_tree_path_new ();
+  iter.stamp = list_store->stamp;
+  iter.user_data = NULL;
   gtk_tree_model_reordered (GTK_TREE_MODEL (list_store),
-                           path, new_order);
+                           path, &iter, new_order);
   gtk_tree_path_free (path);
   g_free (new_order);
   g_array_free (sort_array, TRUE);
index 0e21974d0fc8881aaffd80827064bd8bebd88988..b7b6aaf63f2be599feff40ee7b0c5e028fa3945f 100644 (file)
@@ -1070,13 +1070,14 @@ gtk_tree_model_deleted (GtkTreeModel *tree_model,
 void
 gtk_tree_model_reordered (GtkTreeModel *tree_model,
                          GtkTreePath  *path,
+                         GtkTreeIter  *iter,
                          gint         *new_order)
 {
   g_return_if_fail (tree_model != NULL);
   g_return_if_fail (GTK_IS_TREE_MODEL (tree_model));
   g_return_if_fail (new_order != NULL);
 
-  g_signal_emit_by_name (tree_model, "reordered", path, new_order);
+  g_signal_emit_by_name (tree_model, "reordered", path, iter, new_order);
 }
 
 
index 60dea96e90a8f71f4b136879214faeb3a8bd8764..1410dc70e367c7a1b4c4c12473bb2bb3568136a7 100644 (file)
@@ -188,7 +188,9 @@ static void     gtk_tree_view_deleted              (GtkTreeModel     *model,
                                                    gpointer          data);
 static void     gtk_tree_view_reordered            (GtkTreeModel     *model,
                                                    GtkTreePath      *parent,
-                                                   gint             *new_order);
+                                                   GtkTreeIter      *iter,
+                                                   gint             *new_order,
+                                                   gpointer          data);
 /* Internal functions */
 static void     gtk_tree_view_unref_tree           (GtkTreeView      *tree_view,
                                                    GtkRBTree        *tree);
@@ -3009,20 +3011,20 @@ gtk_tree_view_deleted (GtkTreeModel *model,
 static void
 gtk_tree_view_reordered (GtkTreeModel *model,
                         GtkTreePath  *parent,
-                        gint         *new_order)
+                        GtkTreeIter  *iter,
+                        gint         *new_order,
+                        gpointer      data)
 {
-  GtkTreeView *tree_view = GTK_TREE_VIEW (model);
-  GtkTreeIter iter;
+  GtkTreeView *tree_view = GTK_TREE_VIEW (data);
   GArray *array;
   gint len;
 
-  gtk_tree_model_get_iter (model, parent, &iter);
-  len = gtk_tree_model_iter_n_children (model, &iter);
+  len = gtk_tree_model_iter_n_children (model, iter);
 
   if (len < 2)
     return;
 
-  
+  gtk_widget_queue_draw (GTK_WIDGET (data));
 }
 
 /* Internal tree functions */
@@ -3170,7 +3172,9 @@ gtk_tree_view_calc_size (GtkTreeView *tree_view,
          else
             gtk_tree_view_column_set_width (column, MAX (column->width, width));
        }
+
       _gtk_rbtree_node_set_height (tree, temp, max_height);
+
       if (temp->children != NULL &&
          gtk_tree_model_iter_children (tree_view->priv->model, &child, iter))
        gtk_tree_view_calc_size (tree_view, temp->children, &child, depth + 1);
index 2a4e74b6601d20cd1a0235118c22dfbf9d5f4a47..cc084d465e9b302927577ef6fb7a64cc7a5c4e4f 100644 (file)
@@ -15,8 +15,8 @@ static ListSort data[] =
   { "Apples", "Transmorgrify", "Exculpatory", "Gesundheit"},
   { "Oranges", "Wicker", "Adamantine", "Convivial" },
   { "Bovine Spongiform Encephilopathy", "Sleazebucket", "Mountaineer", "Pander" },
-  { "Foot and Mouth", "Lampshade", "Skim Milk\nFull Milk", "Viewless" },
-  { "Blood,\nsweat,\ntears", "The Man", "Horses", "Muckety-Muck" },
+  { "Foot and Mouth", "Lampshade", "Skim Milk Full Milk", "Viewless" },
+  { "Blood, sweat, tears", "The Man", "Horses", "Muckety-Muck" },
   { "Rare Steak", "Siam", "Watchdog", "Xantippe" },
   { "SIGINT", "Rabbit Breath", "Alligator", "Bloodstained" },
   { "Google", "Chrysanthemums", "Hobnob", "Leapfrog"},
@@ -56,7 +56,7 @@ main (int argc, char *argv[])
   gtk_signal_connect (GTK_OBJECT (window), "destroy", gtk_main_quit, NULL);
   vbox = gtk_vbox_new (FALSE, 8);
   gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
-  gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("My List of cool words"), FALSE, FALSE, 0);
+  gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("My list of cool words"), FALSE, FALSE, 0);
   gtk_container_add (GTK_CONTAINER (window), vbox);
 
   scrolled_window = gtk_scrolled_window_new (NULL, NULL);